其他
Go1.21 那些事:泛型库、for 语义变更、统一 log/slog、WASI 等新特性,你知道多少?
大家好,我是煎鱼。
Go1.21 在昨天晚上 11 点 30 多的时候,终于发布出来了,真的是...日常拖迭代了,一直往后挪。之前说在前面迭代实现的功能,又放到这个迭代里发布了。
本次新版本的大部分变更都在工具链、运行时和库的实现上,继续保持了 Go1 的兼容性承诺。(甚至增强了... 😂)
想要体验的同学可以按如下命令下载:
关于本次 Go1.21 相关特性,我又看了一遍 Release Notes。重要的更新我基本都写了。
以下是文章汇总,欢迎吸取知识:
slices、maps 泛型库:《slices、maps 泛型库终于要加入标准库。。。》 for 循环变量的语义变更:《Go 团队将修改 for 循环变量的语义,新版本即可体验!》 context 可设置取消原因和回调函数:《Context 可以设置取消原因和回调函数了,等的可太久了!》 主版本号支持第三位数字 0:《Go 改版本号规则,主版本号终于支持第三位数字 0 了。。。》 统一标准 log/slog:《Go 十年了,终于想起要统一 log 库了!》 支持自定义 go.env 文件:《支持自定义 go.env 文件,可惜还是有所残缺。。。》 增强约束 Go 程序构建:《go.mod 的 Go 版本号将会约束 Go 程序构建,要特别注意了!》 新内置函数和标准库 clear、min、max、cmp:《Go1.21 速览:新内置函数 clear、min、max 和新标准库包 cmp!》 panic(nil) 成为历史:《Go1.21 速览:骚操作 panic(nil) 将成为历史!以后别这么干了。。。》 结束对 macOS 10.13/10.14 和 Windows 7/8、Server 2008/2012:《Go1.21 速览:正式结束对 macOS 10.13 和 10.14 的支持》 进一步支持 WASI:《Go1.21 速览:Go 终于打算进一步支持 WebAssembly 了。。。》
更多 Go1.21 Release Notes 相关资料,可以查看:https://go.dev/doc/go1.21
。
关注和加煎鱼微信,
一手消息和知识,拉你进技术交流群👇
你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路。
日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!